#ifndef _FKERNINGTABLE_H_
#define _FKERNINGTABLE_H_

namespace Font
{

	class KerningTable
	{
	
	public:
	
		KerningTable(Library* a_Library);
		~KerningTable();

		void AddEntry(unsigned int a_GlyphLeft, unsigned int a_GlyphRight, int a_AmountX);

		int GetKerning(unsigned int a_GlyphLeft, unsigned int a_GlyphRight);
	
	protected:

		struct KerningEntry
		{
			unsigned int glyph_right;
			int amount_x;
		};

		struct KerningList
		{
			unsigned int glyph;
			std::vector<KerningEntry*> entries;
		};

		std::vector<KerningList*> m_List;

		KerningList* _GetList(unsigned int a_Glyph);

		Library* m_Library;
	
	}; // class KerningTable

}; // namespace Font
	
#endif